const user = require("../sql/user");
const sql = require("../sql");
const md5 = require("md5");

module.exports = (req, res)=>{
    // 接收前端发送的用户名和密码信息
    const un = req.body.username;
    const pw = req.body.password;
    // 向数据库发起查询
    sql.get({
        colObj:user,
        where:{username: un}
    }).then(data=>{
        // 查到数据了
        if(data.length > 0){
            res.send({code:0, msg:"用户名重复，注册失败"});
        }else{
            // 没查到数据，就添加新数据，注意密码的加密
            sql.add(user, {
                username: un,
                password: md5(pw),
                regTime: Date.now(),
                power: 0
            }).then(()=>{
                res.send({code:1, msg:"注册成功"});
            })
        }
    })
}

// 注意密码的加密：MD5加密
// 在node中md5是一个第三个模块
// 使用：
    // 下载：npm i md5 -S
    // 引入：const md5 = require("md5")
    // 使用：md5(要加密的数据)，返回值就是加密之后的数据


// 为了能使用提条数表示尽可能多的信息，所以将相应数据打包成对象，
// 前后端交互只能交互字符，并且应该使用通用数据进行交互
    // 此处，建议：json
// 将对象再转成json后，进行响应
// express的res的send方法可以直接接收对象，express内部会自动讲法send的对象参数转成json
